home *** CD-ROM | disk | FTP | other *** search
/ World of Video / World of Video.iso / gfxprograms / imageprocess / hamlabdemo / documentation / cmd-ref.doc next >
Text File  |  1995-02-13  |  40KB  |  1,527 lines

  1. HAMLAB PLUS 2.0.8
  2. AREXX / CONFIG FILE COMMAND REFERENCE
  3.  
  4. (c) Copyright 1992 J. E. Hanway.  All rights reserved.
  5.  
  6. IN THIS DOCUMENT:
  7.  
  8. BACKGROUND
  9.  
  10. AREXX SYNTAX
  11.  
  12. CONFIG FILE SYNTAX
  13.  
  14. COMMAND LIST
  15.  
  16. COMMAND DESCRIPTIONS
  17.  
  18. HAMLAB PLUS ATTRIBUTES
  19.  
  20. BACKGROUND
  21.  
  22. HAMLAB PLUS uses the standard AmigaDOS command syntax for both AREXX
  23. commands and config file commands.
  24.  
  25. A good description of AmigaDOS command conventions can be found in
  26. Chapter 8 of "Using the System Software," the AmigaOS Release 2 User's
  27. manual.
  28.  
  29. All commands are valid in AREXX programs.  A subset are also valid in
  30. config files.  Those are noted by one or more of the following special
  31. symbols after the command name:
  32.  
  33.   * means that the command is valid in a config file
  34.   S means the command will be included in a file generated by the
  35.     "Save Config" operation
  36.   A means the command will be included in a file generated by the
  37.     "Save All" operation
  38.  
  39. All commands and keywords are insensitive to upper/lower case.
  40.  
  41. String arguments should be enclosed in double quotes and may include
  42. spaces and the following escape sequences:
  43.  
  44.         \n      new line
  45.         \r      carriage return
  46.         \t      horizontal tab
  47.         \a      bell
  48.         \\      backslash
  49.         \nnn    nnn is three octal digits representing the character
  50.                 code
  51.  
  52.  
  53. AREXX SYNTAX
  54.  
  55. In order to pass a command to HAMLAB PLUS from an AREXX program, it
  56. must be distinguished from a built-in AREXX command, usually by
  57. enclosing it in single quotes to make it a string.  For example, to
  58. display the message "Hello, world!" in an AREXX program, the actual
  59. line in the program could look like:
  60.  
  61. 'MESSAGE "Hello, world!"'
  62.  
  63. The external single quotes are interpreted by AREXX, and the internal
  64. double quotes are processed by HAMLAB PLUS.  Of course, it is probably
  65. more typical to build complex commands using AREXX's string operators.
  66. For example:
  67.  
  68. 'MESSAGE' '"Current value of foo,bar is' foo||','||bar '"'
  69.  
  70. CONFIG FILE SYNTAX
  71.  
  72. Although config files share some of the same commands as AREXX
  73. programs, they are NOT AREXX programs.  Although this means that you
  74. can't use AREXX program statements and variables in your config files,
  75. it does mean that config files will work on all systems, whether AREXX
  76. is present or not.
  77.  
  78. Commands in config files should not be enclosed in extra quotes like
  79. AREXX programs.
  80.  
  81. Comment lines may be included in config files by starting the line
  82. with a '#' character.
  83.  
  84. Note that HamLab 1.x config files cannot be used by HAMLAB PLUS.
  85.  
  86. COMMAND LIST
  87.  
  88. ASKFIRST        *A
  89. BEEP            *A
  90. BITPLANES       *SA
  91. CACHE12BIT      *A
  92. CACHE24BIT      *A
  93. CLEAR
  94. CLEARCONFIG     *A
  95. CLOSE
  96. COMPATIBILITY   *A
  97. CURVE           *
  98. CURVEPOINT      *
  99. DISPLAY
  100. DITHER          *SA
  101. DITHER2         *SA
  102. EXPORT
  103. FILTERPATH      *A
  104. FIXHAM          *A
  105. GAMMA           *SA
  106. GETATTR
  107. INPUTCROP       *S
  108. LOADCONFIG      *
  109. LOADCURVES      *A
  110. LOADPALETTE     *A
  111. LOCKBACKGROUND  *SA
  112. LOCKGUI
  113. MESSAGE         *
  114. MODULE          *A
  115. NOP             *
  116. ONESTEP         *SA
  117. OPEN
  118. OUTPUTCROP      *S
  119. PALETTEMODE     *SA
  120. PAN
  121. PIPEDEV         *A
  122. QUIT
  123. REQUESTFILE
  124. REQUESTNOTIFY
  125. REQUESTNUMBER
  126. REQUESTRESPONSE
  127. REQUESTSTRING
  128. RESOLUTION      *SA
  129. REVERT
  130. REXXCONSOLE     *A
  131. SAVE
  132. SAVEAS
  133. SAVECONFIG
  134. SAVECURVES
  135. SAVEMODE        *SA
  136. SAVEPALETTE
  137. SCALE           *SA
  138. SETCURVE        *SA
  139. SETREQ          *A
  140. TEMPPATH        *A
  141. UNLOCKGUI
  142. WINDOW          *A
  143.  
  144. ASKFIRST        *A
  145.  
  146. Format:   ASKFIRST [ON=TRUE=YES | OFF=FALSE=NO]
  147.  
  148. Template: ON=TRUE=YES/S,OFF=FALSE=NO/S
  149.  
  150. Purpose:  Turns "are you sure" requesters on or off.
  151.  
  152. Description:
  153.  
  154. This command controls whether requesters are displayed whenever an
  155. open or clear operation will cause unsaved work to be lost.
  156.  
  157. Example:
  158.         ASKFIRST NO
  159.  
  160.  
  161. BEEP            *A
  162.  
  163. Format:   BEEP [ON=TRUE=YES | OFF=FALSE=NO]
  164.  
  165. Template: ON=TRUE=YES/S,OFF=FALSE=NO/S
  166.  
  167. Purpose:  Turns beeping on or off.
  168.  
  169. Description:
  170.  
  171. This command controls the "Beep after long functions" setting, which
  172. causes a beep and screen flash after any display, save, or export
  173. function.
  174.  
  175. Example:
  176.         BEEP YES
  177.  
  178.  
  179. BITPLANES       *SA
  180.  
  181. Format:   BITPLANES [1 | 2 | 3 | 4 | 5 | HALFBRITE | HAM]
  182.  
  183. Template: 1/S,2/S,3/S,4/S,5/S,HALFBRITE/S,HAM/S
  184.  
  185. Purpose:  Sets the number and type of bitplanes for the output.
  186.  
  187. Description:
  188.  
  189. This command sets the number of bitplanes to display and save.  Normal
  190. modes allow 1-5 bit planes (1-4 in hires).  In addition, the special
  191. HAM and HALFBRITE keywords (available only in lores) select those
  192. special 6 bit plane modes.
  193.  
  194. Examples:
  195.         BITPLANES 4             [4 bit planes]
  196.         BITPLANES HAM           [HAM mode (implies 6 bit planes)]
  197.  
  198.  
  199. CACHE12BIT      *A
  200.  
  201. Format:   CACHE12BIT [MEM <memsize>] [DISK <disksize>]
  202.  
  203. Template: MEM/N/K,DISK/N/K
  204.  
  205. Purpose:  Sets the size(s) of the 12 bit caches.
  206.  
  207. Description:
  208.  
  209. This command sets the maximum memory and/or disk size of the 12-bit
  210. cache.  The sizes are specified in bytes.  You may use "-1" to
  211. indicate a very large cache.  (This is quite useful for a RAM cache
  212. since it tells HAMLAB PLUS to use as much RAM as necessary.  If that
  213. much RAM is not available, HL+ will automatically switch to a disk
  214. cache, if enabled.)  Specifying a zero will disable either a ram or
  215. disk cache.
  216.  
  217. For the 12-bit cache, 2 bytes are required for each pixel.
  218.  
  219. If the cache is already in use, the new settings will not take effect
  220. until other changes require the cache to be discarded.
  221.  
  222. Example:
  223.         CACHE12BIT MEM -1 DISK 0        [max memory cache, no disk]
  224.  
  225.  
  226. CACHE24BIT      *A
  227.  
  228. Format:   CACHE24BIT [MEM <memsize>] [DISK <disksize>]
  229.  
  230. Template: MEM/N/K,DISK/N/K
  231.  
  232. Purpose:  Sets the size(s) of the 24 bit caches.
  233.  
  234. Description:
  235.  
  236. This command sets the maximum memory and/or disk size of the 24-bit
  237. cache.  The sizes are specified in bytes.  You may use "-1" to
  238. indicate a very large cache.  (This is quite useful for a RAM cache
  239. since it tells HAMLAB PLUS to use as much RAM as necessary.  If that
  240. much RAM is not available, HL+ will automatically switch to a disk
  241. cache, if enabled.)  Specifying a zero will disable either a ram or
  242. disk cache.
  243.  
  244. For the 24-bit cache, 3 bytes are required for each pixel.
  245.  
  246. If the cache is already in use, the new settings will not take effect
  247. until other changes require the cache to be discarded.
  248.  
  249. Example:
  250.         CACHE24BIT MEM -1 DISK 10000000    [max mem cache, 10 megs disk]
  251.  
  252.  
  253. CLEAR
  254.  
  255. Format:   CLEAR [FORCE]
  256.  
  257. Template: FORCE/S
  258.  
  259. Purpose:  Clears the current image and all related memory and disk
  260. caches.
  261.  
  262. Description:
  263.  
  264. Unloads the current image from memory, and frees any temporary memory
  265. or disk space used by the image.
  266.  
  267. The FORCE keyword suppresses the confirmation requester.
  268.  
  269. Examples:
  270.         CLEAR                           [displays requester]
  271.         CLEAR FORCE                     [no requester]
  272.  
  273.  
  274. CLEARCONFIG     *A
  275.  
  276. Format:   CLEARCONFIG
  277.  
  278. Template: ,
  279.  
  280. Purpose:  Clears the lists of known input filter and exporter modules.
  281.  
  282. Description:
  283.  
  284. This command is used to clear out the list of know input filter and
  285. exporter modules so that a new set can be loaded.  The "Save All"
  286. command saves a CLEARCONFIG command at the beginning of a config file.
  287.  
  288. Example:
  289.         CLEARCONFIG
  290.  
  291.  
  292. CLOSE
  293.  
  294. Format:   CLOSE [FORCE]
  295.  
  296. Template: ,
  297.  
  298. Purpose:  Clears the current image and all related memory and disk
  299. caches.
  300.  
  301. Description:
  302.  
  303. CLOSE and CLEAR perform exactly the same function.
  304.  
  305. Examples:
  306.         CLOSE                           [displays requester]
  307.         CLOSE FORCE                     [no requester]
  308.  
  309.  
  310. COMPATIBILITY   *A
  311.  
  312. Format:   COMPATIBILITY [<mask>]
  313.  
  314. Template: /N/K
  315.  
  316. Purpose:  Sets internal compatibility switches.
  317.  
  318. This command allows certain internal settings of HAMLAB PLUS to be
  319. changed.  It takes a single argument, which is a 32-bit mask (32
  320. separate binary flags.)  The following bits are defined:
  321.  
  322.   Bit  Value  Meaning
  323.  
  324.    0      1   Write IFF palettes with RGB values like 00, 10, 20, ...
  325.               instead of 00, 11, 22, ... ff.  The latter method is
  326.               correct, but some programs, especially older ones, may
  327.               not handle those color values correctly.
  328.  
  329.    1      2   Use Release 2 functions to set pixels in the display
  330.               rather than writing to the display directly.
  331.  
  332.    2-31       Reserved for future use.  (Do not set them.)
  333.  
  334. To turn bits on, add their values together and use the result for the
  335. mask.
  336.  
  337. There is no equivalent of this function in the user interface.  It
  338. must be added to the config file by editing it manually, or by
  339. entering it in the AREXX console window.
  340.  
  341. Example:
  342.           COMPATIBILITY 3       [Sets switches 0 and 1]
  343.  
  344.  
  345. CURVE           *
  346.  
  347. Format:   CURVE [CONTRAST <delta>] [BRIGHTNESS <delta>] [MONOTONIC]
  348.           [SMOOTH] [NEGATE] [INIT] [UPDATE]
  349.  
  350. Template: CONTRAST/N/K,BRIGHTNESS/N/K,MONOTONIC/S,SMOOTH/S,NEGATE/S,
  351.           INIT/S,UPDATE/S
  352.  
  353. Purpose:  Applies operations to the active color response curves.
  354.  
  355. Description:
  356.  
  357. This command performs one of several modification functions on the
  358. active color response curves.
  359.  
  360. BRIGHTNESS and DELTA correspond to the similar user interface
  361. functions.  Both take a signed numeric argument which corresponds to
  362. the step size to be used.
  363.  
  364. MONOTONIC, SMOOTH, NEGATE, and INIT all correspond to user interface
  365. functions.
  366.  
  367. UPDATE causes the visual display of the curve to be updated.  This is
  368. not necessary after any of the other functions in this command, but is
  369. required after one or more CURVEPOINT commands.
  370.  
  371. Multiple operations in the same command should be avoided, since the
  372. order in which they are applied is not defined.
  373.  
  374. Examples:
  375.         CURVE CONTRAST +10      [increase contrast]
  376.         CURVE BRIGHTNESS -10    [decrease brightness]
  377.         CURVE MONOTONIC
  378.         CURVE SMOOTH
  379.         CURVE NEGATE
  380.         CURVE INIT
  381.         CURVE UPDATE            [redisplay curves]
  382.  
  383.  
  384. CURVEPOINT      *
  385.  
  386. Format:   CURVEPOINT [IN] <inputval> [OUT] <outputval>
  387.  
  388. Template: IN/N/K,OUT/N/K
  389.  
  390. Purpose:  Sets the value of a point on the active color response
  391.           curves.
  392.  
  393. Description:
  394.  
  395. This command makes it possible to change color response curves on a
  396. point-by-point basis.  A point is specified by its input value
  397. (0-255) and an output value (0-16383).
  398.  
  399. Note the different ranges.  The input value is always an eight
  400. bit value (0 to 255), while the output value uses a wider scale with
  401. 16383 as the maximum value.  To scale an eight bit value up to this
  402. range, use:
  403.  
  404.         outval = eightbitval * 16383 / 255
  405.  
  406. Or for a quick and dirty approach:
  407.  
  408.         outval = eightbitval * 64
  409.  
  410. The point will be entered into all active curves. (Use SETCURVE
  411. to set the active curves.)
  412.  
  413. NOTE: This command does not update the visual display of the color
  414. curves after entering the point.  The CURVE UPDATE command must be
  415. used after all points have been entered.
  416.  
  417. Examples:
  418.         CURVEPOINT 0 0          [one end]
  419.         CURVEPOINT 128 8192     [the middle]
  420.         CURVEPOINT 255 16363    [and the other end]
  421.  
  422.  
  423. DISPLAY
  424.  
  425. Format:   DISPLAY
  426.  
  427. Template: ,
  428.  
  429. Purpose:  Displays the current image.
  430.  
  431. Description:
  432.  
  433. If an image is open, DISPLAY opens a screen and renders the image into
  434. it.
  435.  
  436. Example:
  437.         DISPLAY
  438.  
  439.  
  440. DITHER          *SA
  441.  
  442. Format:   DITHER [NONE | FLOYD | JARVIS | STUCKI | ORDERED | RANDOM |
  443.           SPIRAL]
  444.  
  445. Template: NONE/S,FLOYD/S,JARVIS/S,STUCKI/S,ORDERED/S,RANDOM/S,SPIRAL/S
  446.  
  447. Purpose:  Sets the type of dithering used to reduce from 24 bits to
  448.           12 bits.
  449.  
  450. Description:
  451.  
  452. This command controls the "24->12 dither" setting.
  453.  
  454. Example:
  455.         DITHER FLOYD
  456.  
  457.  
  458. DITHER2         *SA
  459.  
  460. Format:   DITHER2 [NONE | FLOYD | JARVIS | STUCKI]
  461.  
  462. Template: NONE/S,FLOYD/S,JARVIS/S,STUCKI/S
  463.  
  464. Purpose:  Sets the type of dithering used to render to the display.
  465.  
  466. Description:
  467.  
  468. This command controls the "12->display dither" setting.
  469.  
  470. Example:
  471.         DITHER2 NONE
  472.  
  473.  
  474. EXPORT
  475.  
  476. Format:   EXPORT [EXPORTER <name>] [NAME <filename>] [ARGS <args>]
  477.  
  478. Template: EXPORTER/K,NAME/K,ARGS/K
  479.  
  480. Purpose:  Processes the current image through an exporter module.
  481.  
  482. Description:
  483.  
  484. Without the NAME and ARGS arguments, the EXPORT command brings up the
  485. list of available exporters and allows one to be chosen, just as if
  486. the EXPORT button were selected by the user.
  487.  
  488. Alternatively, the exporter program and its arguments may be specified
  489. as part of the command.  This will bypass the list display and run a
  490. specific exporter directly.  The proper name and args for an exporter
  491. must be obtained first.  (See the filter/exporter reference for
  492. information on specific exporters.)
  493.  
  494. The NAME keyword allows the name of the file to be exported to be
  495. specified.  This information is passed on to the exporter program,
  496. and may be used or ignored depending on the exporter.  Typically, if
  497. you specify a file name, the exporter will not display a file
  498. requester.
  499.  
  500. Examples:
  501.         EXPORT NAME foo.out             [user selects from list]
  502.         EXPORT NAME foo.bw-eps EXPORTER "export_eps" ARGS "bw"
  503.                                         [uses a specific exporter]
  504.  
  505.  
  506. FILTERPATH      *A
  507.  
  508. Format:   FILTERPATH [NAME] <filterpath>
  509.  
  510. Template: NAME/A
  511.  
  512. Purpose:  Sets the disk path to find filters and exporters.
  513.  
  514. Description:
  515.  
  516. This command sets the directory where HAMLAB PLUS input filter and
  517. exporter modules are stored.
  518.  
  519. Example:
  520.         FILTERPATH "SYS:hl-filters"
  521.  
  522.  
  523. FIXHAM          *A
  524.  
  525. Format:   FIXHAM [ON=TRUE=YES | OFF=FALSE=NO]
  526.  
  527. Template: ON=TRUE=YES/S,OFF=FALSE=NO/S
  528.  
  529. Purpose:  Turns glitchless HAM scrolling on or off.
  530.  
  531. Description:
  532.  
  533. This command controls the "Fix Ham Scrolling" setting, which repairs
  534. left edge glitches caused when the true left edge of a HAM picture is
  535. not visible on the display.
  536.  
  537. Example:
  538.         FIXHAM ON
  539.  
  540.  
  541. GAMMA           *SA
  542.  
  543. Format:   GAMMA [VALUE] <gamma> [COMPENSATE | UNCOMPENSATE]
  544.  
  545. Template: VALUE/N,COMPENSATE/S,UNCOMPENSATE/S
  546.  
  547. Purpose:  Loads a gamma value and/or applies it to the color response
  548.           curves.
  549.  
  550. Description:
  551.  
  552. This command changes the current gamma value and/or applies it to the
  553. active color response curves.
  554.  
  555. VALUE specifies the gamma value, which must be between 0.1 and 9.9 and
  556. must be written that way (two digits separated by a period).
  557.  
  558. The COMPENSATE and UNCOMPENSATE keywords apply the gamma to the active
  559. color response curves.
  560.  
  561. Example:
  562.         GAMMA 2.2 COMPENSATE
  563.  
  564.  
  565. GETATTR
  566.  
  567. Format:   GETATTR [OBJECT] <object> STEM <stem>
  568.  
  569. Template: OBJECT/A,STEM/K
  570.  
  571. Purpose:  Returns the contents of a HAMLAB PLUS attribute in an AREXX
  572.           stem variable.
  573.  
  574. Description:
  575.  
  576. GETATTR obtains the values of a group of related HAMLAB PLUS
  577. attributes and copies their values into AREXX variables.
  578.  
  579. The OBJECT is one of several object names that HAMLAB PLUS
  580. understands.  See the end of this section for a complete list of
  581. OBJECTs and their associated attributes.
  582.  
  583. The STEM keyword specifies the base name of all of the AREXX variables
  584. to be filled in by the GETATTR command.  The base name may optionally
  585. be followed by a period.
  586.  
  587. See the HAMLAB PLUS ATTRIBUTES section for a complete list of objects
  588. supported by the getattr command and their attributes.
  589.  
  590. Example:
  591.         GETATTR APPLICATION STEM APPL.    [fills in APPL.NAME, etc.]
  592.  
  593.  
  594. INPUTCROP       *S
  595.  
  596. Format:   INPUTCROP [WIDTH <width>] [HEIGHT <height>]
  597.           [UL <x1>,<y1>] [LR <x2>,<y2>] [FULLSIZE]
  598.  
  599. Template: WIDTH/N/K,HEIGHT/N/K,UL/K,LR/K,FULLSIZE/S
  600.  
  601. Purpose:  Sets the input cropping limits.
  602.  
  603. Description:
  604.  
  605. This command changes the input cropping boundaries.  In one command,
  606. you may specify the boundaries by width and/or height, or by
  607. coordinates of the upper left and/or lower right corners.
  608.  
  609. Coordinates are specified by two numbers separated by a comma.  There
  610. should be no space between the comma and either number.
  611.  
  612. The FULLSIZE keyword resets the cropping boundaries to include the
  613. full image.
  614.  
  615. Specifying conflicting arguments in the same command should be
  616. avoided.
  617.  
  618. Examples:
  619.         INPUTCROP WIDTH 320 HEIGHT 200  [by size]
  620.         INPUTCROP UL 0,0 LR 100,100     [by corners]
  621.         INPUTCROP FULLSIZE              [reset to full size]
  622.  
  623.  
  624. LOADCONFIG      *
  625.  
  626. Format:   LOADCONFIG [FILENAME <filename>]
  627.  
  628. Template: FILENAME/K
  629.  
  630. Purpose:  Loads settings from a configuration file.
  631.  
  632. Description:
  633.  
  634. This command loads a previously saved configuration file.  If a path
  635. and file name is specified with the FILENAME keyword it will be used.
  636. Otherwise, a file requester will be displayed and the user's choice
  637. will be loaded.
  638.  
  639. Example:
  640.         LOADCONFIG FILENAME "SYS:hlconfigs/hires"
  641.  
  642.  
  643. LOADCURVES      *A
  644.  
  645. Format:   LOADCURVES [FILENAME <name>]
  646.  
  647. Template: FILENAME/K
  648.  
  649. Purpose:  Loads a set of color response curves from a HamLab curve
  650.           file or an IFF CLUT chunk.
  651.  
  652. Description:
  653.  
  654. This command causes the active color response curves to be loaded
  655. from a file.  (Either a HamLab color curve file or from the CLUT
  656. chunks of any IFF picture containing them.)  If a name is specified
  657. with the FILENAME keyword, it will be used.  Otherwise, a file
  658. requester will be displayed and the user's choice will be used.
  659.  
  660. Example:
  661.         LOADCURVES FILENAME "ram:scanner1.curve"
  662.  
  663.  
  664. LOADPALETTE     *A
  665.  
  666. Format:   LOADPALETTE [FILENAME <name>]
  667.  
  668. Template: FILENAME/K
  669.  
  670. Purpose:  Loads a fixed set of colors from an IFF palette file.
  671.  
  672. Description:
  673.  
  674. This command loads an IFF palette file, automatically switching to
  675. FROZEN palette mode if necessary.  If a name is specified with the
  676. FILENAME keyword, it will be used.  Otherwise, a file requester will
  677. be displayed and the user's choice will be used.
  678.  
  679. Example:
  680.         LOADPALETTE FILENAME "ram:frame1.pal"
  681.  
  682.  
  683. LOCKBACKGROUND  *SA
  684.  
  685. Format:   LOCKBACKGROUND [ON=TRUE=YES | OFF=FALSE=NO]
  686.  
  687. Template: ON=TRUE=YES/S,OFF=FALSE=NO/S
  688.  
  689. Purpose:  Sets whether the exact background color is preserved.
  690.  
  691. Description:
  692.  
  693. This command controls the "Lock background color" setting.
  694.  
  695. Example:
  696.         LOCKBACKGROUND FALSE
  697.  
  698.  
  699. LOCKGUI
  700.  
  701. Format:   LOCKGUI
  702.  
  703. Template: ,
  704.  
  705. Purpose:  Deactivates all program gadgets.
  706.  
  707. Description:
  708.  
  709. LOCKGUI causes the busy pointer (the watch) to be displayed in all
  710. windows.
  711.  
  712. WARNING: this command can cause the HAMLAB PLUS to appear locked up.
  713. No HL+ gadgets (except buttons like OK and Cancel in requesters) will
  714. respond to any further activity until an UNLOCKGUI command is
  715. received.
  716.  
  717. Executing LOCKGUI more than once has no effect -- the program is only
  718. locked once, and a single UNLOCKGUI command will always unlock it.
  719.  
  720. Example:
  721.         LOCKGUI
  722.  
  723.  
  724. MESSAGE         *
  725.  
  726. Format:   MESSAGE [[PROMPT] <message>] [CLEAR]
  727.  
  728. Template: PROMPT,CLEAR/S
  729.  
  730. Purpose:  Displays a message in the HAMLAB PLUS message area.
  731.  
  732. Description:
  733.  
  734. Writes a single line message to the three line message area in the
  735. HAMLAB PLUS base window, scrolling previous messages up, if any.
  736.  
  737. The CLEAR keyword clears the message area before displaying the
  738. message.
  739.  
  740. Examples:
  741.         MESSAGE "Hello, world!"
  742.         MESSAGE CLEAR
  743.         MESSAGE CLEAR "Starting complicated process..."
  744.  
  745.  
  746. MODULE          *A
  747.  
  748. Format:   MODULE OLDFILTER NAME <name> PATTERN <magic>
  749.           MODULE INPUTFILTER NAME <name> PATTERN <magic> ARGS <args>
  750.           MODULE EXPORTER NAME <name> DESCRIPTION <desc> ARGS <args>
  751.  
  752. Template: OLDFILTER/S,INPUTFILTER/S,EXPORTER/S,
  753.           NAME/A/K,MAGIC/K,DESCRIPTION/K,ARGS/K
  754.  
  755. Purpose:  Makes an input filter or exporter known to HAMLAB PLUS.
  756.  
  757. Description:
  758.  
  759. These commands, used primarily in config files, give HAMLAB PLUS
  760. information about available input filter and exporter modules.  Three
  761. types of modules are possible:
  762.  
  763.         OLDFILTER       a HamLab 1.x input filter.  Described by NAME
  764.                         of the module and a PATTERN which must be
  765.                         matched in an input file for this filter to
  766.                         be used.
  767.  
  768.         INPUTFILTER     a HamLab 2.x input filter.  Described by NAME
  769.                         of the module, PATTERN to be matched, and an
  770.                         ARGS string to be passed to the filter.
  771.  
  772.         EXPORTER        a HamLab 2.x exporter.  Described by NAME of
  773.                         the module, a text DESCRIPTION used for the
  774.                         list presented to the user, and an ARGS
  775.                         string to be passed to the exporter.
  776.  
  777. Examples:
  778.         MODULE OLDFILTER NAME "ilbm2hl" PATTERN "FORM"
  779.         MODULE INPUTFILTER NAME "ilbm_input" PATTERN "FORM" ARGS ""
  780.         MODULE EXPORTER NAME "export_iff24" DESCRIPTION "24bit IFF"
  781.                 ARGS ""
  782.  
  783.  
  784. NOP             *
  785.  
  786. Format:   NOP
  787.  
  788. Template: ,
  789.  
  790. Purpose:  Does absolutely nothing.
  791.  
  792. Description:
  793.  
  794. This command does absolutely nothing.
  795.  
  796. Example:
  797.         NOP
  798.  
  799.  
  800. ONESTEP         *SA
  801.  
  802. Format:   ONESTEP [ON=TRUE=YES | OFF=FALSE=NO]
  803.  
  804. Template: ON=TRUE=YES/S,OFF=FALSE=NO/S
  805.  
  806. Purpose:  Sets whether dithering is done in one or two steps.
  807.  
  808. Description:
  809.  
  810. This command controls the "One step dithering" setting.
  811.  
  812. Example:
  813.         ONESTEP ON
  814.  
  815.  
  816. OPEN
  817.  
  818. Format:   OPEN [FILENAME <filename>] [FORCE]
  819.  
  820. Template: FILENAME/K,FORCE/S
  821.  
  822. Purpose:  Opens a new image.
  823.  
  824. Description:
  825.  
  826. Clears the current image, if any (see CLEAR), and attempts to open a
  827. new image.  Returns a warning result code (5) if the file cannot be
  828. opened for any reason.
  829.  
  830. The FORCE keyword suppresses the confirmation requester before
  831. clearing the current image.
  832.  
  833. If a filename (including a full path) is specified with the FILENAME
  834. keyword, it will be used, otherwise, the normal file requester will
  835. be used to allow the input file name to be selected.
  836.  
  837. Examples:
  838.         OPEN FILENAME foo.bar FORCE     [no requesters]
  839.         OPEN                            [displays requester]
  840.  
  841.  
  842. OUTPUTCROP      *S
  843.  
  844. Format:   OUTPUTCROP [WIDTH <width>] [HEIGHT <height>]
  845.           [UL <x1>,<y1>] [LR <x2>,<y2>] [FULLSIZE]
  846.  
  847. Template: WIDTH/N/K,HEIGHT/N/K,UL/K,LR/K,FULLSIZE/S
  848.  
  849. Purpose:  Sets the output cropping limits.
  850.  
  851. Description:
  852.  
  853. This command changes the output cropping boundaries.  In one command,
  854. you may specify the boundaries by width and/or height, or by
  855. coordinates of the upper left and/or lower right corners.
  856.  
  857. Coordinates are specified by two numbers separated by a comma.  There
  858. should be no space between the comma and either number.
  859.  
  860. The FULLSIZE keyword resets the cropping boundaries to include the
  861. full image.
  862.  
  863. Specifying conflicting arguments in the same command should be
  864. avoided.
  865.  
  866. Examples:
  867.         OUTPUTCROP WIDTH 320 HEIGHT 200 [by size]
  868.         OUTPUTCROP UL 0,0 LR 100,100    [by corners]
  869.         OUTPUTCROP FULLSIZE             [reset to full size]
  870.  
  871.  
  872. PALETTEMODE     *SA
  873.  
  874. Format:   PALETTEMODE [NORMAL | SLICED <num> | FROZEN]
  875.  
  876. Template: NORMAL/S,SLICED/K/N,FROZEN/S
  877.  
  878. Purpose:  Sets the type of palette used for the output.
  879.  
  880. Description:
  881.  
  882. This command sets the type of palette used for displaying and saving.
  883. The NORMAL and FROZEN keywords select their respective modes.  The
  884. SLICED keyword selects sliced mode, and must be followed by a number
  885. indicating the number of colors to slice.
  886.  
  887. Examples:
  888.         PALETTEMODE NORMAL              [normal palette]
  889.         PALETTEMODE SLICED 7            [sliced mode, 7 colors sliced]
  890.  
  891.  
  892. PAN
  893.  
  894. Format:   PAN [X <num>] [Y <num>] [ABSOLUTE]
  895.  
  896. Template: X/N,Y/N,ABSOLUTE/S
  897.  
  898. Purpose:  Scrolls the display to expose a different portion of the
  899. current image.
  900.  
  901. Description:
  902.  
  903. PAN determines what coordinates of the image are positioned in the
  904. upper left corner of the screen.  Normally the upper left corner
  905. displays the upper left corner of the image (0, 0).  Normally the
  906. coordinates are changed incrementally, but the ABSOLUTE keyword will
  907. cause the coordinates to be replaced, rather than added to.  Either
  908. the X coordinate, the Y coordinate, or both may be changed.
  909.  
  910. All panning movements are restricted to keep part of the image on
  911. screen.  Thus PAN ABSOLUTE X 9999 will move to the right edge of anyo
  912. reasonably sized image.
  913.  
  914. Examples:
  915.         PAN X +10                       [relative scroll right]
  916.         PAN Y -10                       [relative scroll up]
  917.         PAN ABSOLUTE X 0 Y 0            [reset to upper left]
  918.  
  919.  
  920. PIPEDEV         *A
  921.  
  922. Format:   PIPEDEV [NAME] <pipedevice>
  923.  
  924. Template: NAME/A
  925.  
  926. Purpose:  Sets the device to use for pipes.
  927.  
  928. Description:
  929.  
  930. This command sets the device to be used whenever HAMLAB PLUS uses a
  931. DOS pipe.  Currently HAMLAB PLUS only uses DOS pipes to interface to
  932. old HamLab 1.x input filters.
  933.  
  934. Example:
  935.         PIPEDEV "PIPE:"
  936.  
  937.  
  938. QUIT
  939.  
  940. Format:   QUIT [FORCE]
  941.  
  942. Template: FORCE/S
  943.  
  944. Purpose:  Exits HAMLAB PLUS.
  945.  
  946. Description:
  947.  
  948. The FORCE keyword suppresses the requester that would be displayed
  949. before quitting with an unsaved image loaded.
  950.  
  951. Examples:
  952.         QUIT                            [may display requester]
  953.         QUIT FORCE                      [never a requester]
  954.  
  955.  
  956. REQUESTFILE
  957.  
  958. Format:   REQUESTFILE [TITLE <title>] [PATH <path>] [FILE <file>]
  959.           [PATTERN <pattern>]
  960.  
  961. Template: TITLE/K,PATH/K,FILE/K,PATTERN/K
  962.  
  963. Purpose:  Gets input from a file requester.
  964.  
  965. Description:
  966.  
  967. This command displays a generic file requester.  If the user selects a
  968. file name, the special variable RESULT will be filled in with the full
  969. path name.  Otherwise, a warning result code will be returned.
  970.  
  971. The TITLE keyword specifies a window title.  The PATH, FILE, and
  972. PATTERN keywords specify initial values for the file requester.  If
  973. any of these are omitted, empty strings will be used as the default.
  974.  
  975. Example:
  976.         REQUESTFILE TITLE "Select a file" PATH "ram:" PATTERN "#?.iff"
  977.                                         [returns full path in RESULT]
  978.  
  979.  
  980. REQUESTNOTIFY
  981.  
  982. Format:   REQUESTNOTIFY [TITLE <title>] [PROMPT <prompt>]
  983.  
  984. Template: TITLE/K,PROMPT/K
  985.  
  986. Purpose:  Displays an information-only requester.
  987.  
  988. Description:
  989.  
  990. This command displays a simple requester with a title, one line of
  991. text, and an OK button.
  992.  
  993. The TITLE keyword specifies text for the requester's title bar.  The
  994. PROMPT keyword specifies text displayed within the requester.
  995.  
  996. Example:
  997.         REQUESTNOTIFY TITLE "Notice" PROMPT "Rendering all done!"
  998.                                         [no return value]
  999.  
  1000.  
  1001. REQUESTNUMBER
  1002.  
  1003. Format:   REQUESTNUMBER [PROMPT <prompt>] [DEFAULT <number>]
  1004.  
  1005. Template: PROMPT/K,DEFAULT/N/K
  1006.  
  1007. Purpose:  Gets input from a number entry requester.
  1008.  
  1009. Description:
  1010.  
  1011. This command displays a generic number entry requester.  If the user
  1012. enters a number, it will be returned in the special RESULT varaible.
  1013. Otherwise, a warning result will be returned.
  1014.  
  1015. The PROMPT keyword specifies prompting text to be used in the
  1016. requester's title bar.  The DEFAULT keyword specifies the initial
  1017. value for the number entry gadget.
  1018.  
  1019. Example:
  1020.         REQUESTNUMBER PROMPT "Enter width:" DEFAULT 640
  1021.                                         [returns number in RESULT]
  1022.  
  1023.  
  1024. REQUESTRESPONSE
  1025.  
  1026. Format:   REQUESTRESPONSE [TITLE <title>] [PROMPT <prompt>]
  1027.  
  1028. Template: TITLE/K,PROMPT/K
  1029.  
  1030. Purpose:  Gets a yes/no response from a requester.
  1031.  
  1032. Description:
  1033.  
  1034. This command displays a generic yes/no requester (actually, it's an
  1035. OK/Cancel requester.) If the user selects OK, a normal zero result
  1036. code is returned, otherwise a warning code (5) is returned.
  1037.  
  1038. The TITLE keyword specifies text for the requester's title bar.  The
  1039. PROMPT keyword specifies text displayed within the requester.
  1040.  
  1041. Example:
  1042.         REQUESTRESPONSE TITLE "Confirmation" PROMPT "Ok to exit?"
  1043.                                         [returns RC=0 (ok) or RC=5]
  1044.  
  1045.  
  1046. REQUESTSTRING
  1047.  
  1048. Format:   REQUESTSTRING [PROMPT <prompt>] [DEFAULT <string>]
  1049.  
  1050. Template: PROMPT/K,DEFAULT/K
  1051.  
  1052. Purpose:  Gets input from a string entry requester.
  1053.  
  1054. Description:
  1055.  
  1056. This command displays a generic string entry requester.  If the user
  1057. enters a string, it will be returned in the special RESULT variable.
  1058. Otherwise, a warning result code will be returned.
  1059.  
  1060. The PROMPT keyword specifies prompting text to be used in the
  1061. requester's title bar.  The DEFAULT keyword specifies the initial
  1062. value for the string entry gadget.
  1063.  
  1064. Example:
  1065.         REQUESTSTRING PROMPT "Enter your name:" DEFAULT "Ed"
  1066.                                         [returns string in RESULT]
  1067.  
  1068.  
  1069. RESOLUTION      *SA
  1070.  
  1071. Format:   RESOLUTION [LOW | HIGH] [LACE | NOLACE]
  1072.  
  1073. Template: LOW/S,HIGH/S,LACE/S,NOLACE/S
  1074.  
  1075. Purpose:  Sets the output resolution.
  1076.  
  1077. Description:
  1078.  
  1079. This command sets the display resolution and/or interlace setting.
  1080.  
  1081. Examples:
  1082.         RESOLUTION LOW
  1083.         RESOLUTION HIGH LACE
  1084.  
  1085.  
  1086. REVERT
  1087.  
  1088. Format:   REVERT
  1089.  
  1090. Template: ,
  1091.  
  1092. Purpose:  Revert to previous settings.
  1093.  
  1094. Description:
  1095.  
  1096. This command returns all settings to those used for the last DISPLAY
  1097. or SAVE operation.
  1098.  
  1099. Example:
  1100.         REVERT
  1101.  
  1102.  
  1103. REXXCONSOLE     *A
  1104.  
  1105. Format:   REXXCONSOLE [NAME] <window>
  1106.  
  1107. Template: NAME/A
  1108.  
  1109. Purpose:  Sets the window description to use for the REXX console
  1110.           window.
  1111.  
  1112. Description:
  1113.  
  1114. This command sets the DOS console window description to be used for
  1115. the AREXX console window.  See the AmigaDOS manual for the format
  1116. for console window descriptions.
  1117.  
  1118. If the AREXX console is already open, the changes will not be
  1119. reflected until the console window is closed and reopened.
  1120.  
  1121. Example:
  1122.         REXXCONSOLE "CON:0/0/500/100/REXX Console/CLOSE"
  1123.  
  1124.  
  1125. SAVE
  1126.  
  1127. Format:   SAVE [OVERWRITE]
  1128.  
  1129. Template: OVERWRITE/S
  1130.  
  1131. Purpose:  Saves the current image using the current path and filename.
  1132.  
  1133. Description:
  1134.  
  1135. The OVERWRITE keyword suppresses the confirmation requester that would
  1136. be displayed before overwriting an existing file.
  1137.  
  1138. Examples:
  1139.         SAVE                            [asks before overwriting]
  1140.         SAVE OVERWRITE                  [doesn't ask]
  1141.  
  1142.  
  1143. SAVEAS
  1144.  
  1145. Format:   SAVEAS [NAME <filename>] [OVERWRITE]
  1146.  
  1147. Template: NAME/K,OVERWRITE/S
  1148.  
  1149. Purpose:  Saves the current image using a new filename.
  1150.  
  1151. Description:
  1152.  
  1153. If a filename (including a full path) is specified with the NAME
  1154. keyword, it will be used.  Otherwise, the normal save file requester
  1155. will be used to allow the user to enter the filename.
  1156.  
  1157. The OVERWRITE keyword suppresses the confirmation requester that would
  1158. be displayed before overwriting an existing file.
  1159.  
  1160. Example:
  1161.         SAVEAS NAME dh0:foo.iff OVERWRITE
  1162.  
  1163.  
  1164. SAVECONFIG
  1165.  
  1166. Format:   SAVECONFIG [NAME <filename>] [ALL] [OVERWRITE]
  1167.  
  1168. Template: NAME/K,ALL/S,OVERWRITE/S
  1169.  
  1170. Purpose:  Saves current settings to a configuration file.
  1171.  
  1172. Description:
  1173.  
  1174. If a filename is specified with the NAME keyword, it will be used.
  1175. Otherwise, a file requester will be displayed and the user's choice
  1176. will be used.
  1177.  
  1178. If the ALL keyword is specified, a full set of commands will be saved
  1179. in the config file, just as if the "Save All" button were selected.
  1180. Otherwise, a partial config file will be saved.  Note the S and A
  1181. indicated with commands in this section tell which commands are
  1182. included in partial and full config files.
  1183.  
  1184. The OVERWRITE keyword forces the new config file to overwrite any
  1185. existing one with the same name.  If omitted, and a file with the
  1186. same name exists, a confirmation requester will be displayed.
  1187.  
  1188. Cropping settings will only be saved in a partial config file, and
  1189. only when an image is currently open.
  1190.  
  1191. Examples:
  1192.         SAVECONFIG ALL                          [full config file]
  1193.         SAVECONFIG NAME "hlconfigs:hires"       [partial config file]
  1194.  
  1195.  
  1196. SAVECURVES
  1197.  
  1198. Format:   SAVECURVES [NAME <filename>] [OVERWRITE]
  1199.  
  1200. Template: NAME/K,OVERWRITE/S
  1201.  
  1202. Purpose:  Saves current color response curves to a HamLab curve file.
  1203.  
  1204. Description:
  1205.  
  1206. If a filename is specified with the NAME keyword, it will be used.
  1207. Otherwise, a file requester will be displayed and the user's choice
  1208. will be used.
  1209.  
  1210. If the OVERWRITE keyword is specified, the requester that would
  1211. normally be displayed before overwriting an existing file will be
  1212. suppressed.
  1213.  
  1214. Example:
  1215.         SAVECURVES NAME "hlcurves:scanner-compensation"
  1216.  
  1217.  
  1218. SAVEMODE        *SA
  1219.  
  1220. Format:   SAVEMODE [PCHG] [SHAM] [DYNAMIC]
  1221.  
  1222. Template: PCHG/S,SHAM/S,DYNAMIC/S
  1223.  
  1224. Purpose:  Sets the type(s) of special IFF chunks used to save "sliced"
  1225.           output files.
  1226.  
  1227. Description:
  1228.  
  1229. This command determines which combination of three IFF formats will be
  1230. used to store sliced color information.  At least one, and as many as
  1231. all three, of the PCHG SHAM and DYNAMIC keywords must be specified.
  1232.  
  1233. Examples:
  1234.         SAVEMODE PCHG           [save PCHG chunks only]
  1235.         SAVEMODE SHAM DYNAMIC   [save both SHAM and DYNAMIC chunks]
  1236.  
  1237.  
  1238. SAVEPALETTE
  1239.  
  1240. Format:   SAVEPALETTE [NAME <filename>] [OVERWRITE]
  1241.  
  1242. Template: NAME/K,OVERWRITE/S
  1243.  
  1244. Purpose:  Saves current palette colors to an IFF palette file.
  1245.  
  1246. Description:
  1247.  
  1248. If a filename is specified with the NAME keyword, it will be used.
  1249. Otherwise, a file requester will be displayed and the user's choice
  1250. will be used.
  1251.  
  1252. If the OVERWRITE keyword is specified, the requester that would
  1253. normally be displayed before overwriting an existing file will be
  1254. suppressed.
  1255.  
  1256. This command is only valid when the palette is in FROZEN mode.  Using
  1257. it in other situations will return an error.
  1258.  
  1259. Example:
  1260.         SAVEPALETTE NAME "ram:frame1.pal" OVERWRITE
  1261.  
  1262.  
  1263. SCALE           *SA
  1264.  
  1265. Format:   SCALE [X <xscale>] [Y <yscale>] [PERCENT]
  1266.           [CONSTRAINED|UNCONSTRAINED]
  1267.  
  1268. Template: X/N/K,Y/N/K,PERCENT/S,CONSTRAINED/S,UNCONSTRAINED/S
  1269.  
  1270. Purpose:  Sets the scaling factor(s).
  1271.  
  1272. Description:
  1273.  
  1274. This command changes the X and Y scaling factors used by HAMLAB PLUS.
  1275. The default is to specify the scaling by the size of the resulting
  1276. image, but the PERCENT keyword will cause the values to be interpreted
  1277. as percentages.
  1278.  
  1279. Note that the PERCENT keyword will apply to both X and Y if both are
  1280. used in the same command.
  1281.  
  1282. The CONSTRAINED/UNCONSTRAINED keyword changes the state of the
  1283. "Constrained Scale" setting.  (When turned on, changes in one
  1284. dimension will cause proportional changes in the other dimension,
  1285. preserving the aspect ratio.)
  1286.  
  1287. Examples:
  1288.         SCALE X 320 Y 400       [result will be 320x400 pixels]
  1289.         SCALE X 100 PERCENT     [will be 100% of original width]
  1290.         SCALE CONSTRAINED       [turns constrained scaling on]
  1291.  
  1292.  
  1293. SETCURVE        *SA
  1294.  
  1295. Format:   SETCURVE [RED] [GREEN] [BLUE] [[STEPSIZE] <stepsize>]
  1296.  
  1297. Template: RED/S,GREEN/S,BLUE/S,STEPSIZE/N
  1298.  
  1299. Purpose:  Sets the active curves and/or the curve operation step size.
  1300.  
  1301. Description:
  1302.  
  1303. This command sets which color response curves are "active," (affected
  1304. by other curve modification commands) and sets the step size used by
  1305. other curve modification commands.
  1306.  
  1307. A curve is made active by including its keyword (RED or GREEN or
  1308. BLUE).  Omitting a keyword for a curve will deactivate it.
  1309.  
  1310. The optional STEPSIZE keyword takes a single numeric argument of 1, 2,
  1311. 4, or 8.
  1312.  
  1313. Example:
  1314.         SETCURVE RED GREEN BLUE STEPSIZE 2
  1315.  
  1316.  
  1317. SETREQ          *A
  1318.  
  1319. Format:   SETREQ INPUT|OUTPUT|CURVE|PALETTE [PATH <path>]
  1320.           [FILE <file>] [PATTERN <pattern>]
  1321.  
  1322. Template: INPUT/S,OUTPUT/S,CURVE/S,PALETTE/S,PATH/K,FILE/K,PATTERN/K
  1323.  
  1324. Purpose:  Sets the initial values for a file requester.
  1325.  
  1326. Description:
  1327.  
  1328. This command allows the fields of HAMLAB PLUS file requesters to be
  1329. configured to useful initial values.  There are four controllable
  1330. sets of file requester values, corresponding to various operations
  1331. as follows:
  1332.  
  1333.         INPUT   loading images
  1334.         OUTPUT  saving and exporting
  1335.         CURVE   loading and saving curves
  1336.         PALETTE loading and saving palettes
  1337.  
  1338. For each set, three values may be set:
  1339.  
  1340.         PATH    the initial directory name
  1341.         FILE    the initial file name
  1342.         PATTERN the wild-card matching pattern
  1343.                 (blank pattern matches everything)
  1344.  
  1345. The PATTERN field is only supported by the Release 2 ASL file
  1346. requester.
  1347.  
  1348. For the OUTPUT requester, the FILE value is used to set the
  1349. extension (i.e. ".iff" ".ham" etc.) of the filename.  The rest of
  1350. the name is derived from the original name.
  1351.  
  1352. Once a user changes a value in a file requester, the changed value
  1353. will replace the previous value for the next time the file requester
  1354. is used.
  1355.  
  1356. Examples:
  1357.         SETREQ INPUT PATH "DH0:stuff" FILE "" PATTERN "#?.(gif|jpg)"
  1358.         SETREQ OUTPUT PATH "DH1:mypics" FILE ".iff" PATTERN "#?.iff"
  1359.  
  1360.  
  1361. TEMPPATH        *A
  1362.  
  1363. Format:   TEMPPATH [NAME] <temppath>
  1364.  
  1365. Template: NAME/A
  1366.  
  1367. Purpose:  Sets the disk path for temporary files.
  1368.  
  1369. Description:
  1370.  
  1371. This command sets the directory where temporary 12- and 24-bit disk
  1372. cache files are created.
  1373.  
  1374. If temporary files already exist in the old temporary directory, they
  1375. will remain until other operations require them to be deleted and/or
  1376. recreated.
  1377.  
  1378. Example:
  1379.         TEMPPATH "T:"
  1380.  
  1381.  
  1382. UNLOCKGUI
  1383.  
  1384. Format:   UNLOCKGUI
  1385.  
  1386. Template: ,
  1387.  
  1388. Purpose:  Reactivates all program gadgets.
  1389.  
  1390. Description:
  1391.  
  1392. Unlocks the user interface, which was previously locked by LOCKGUI.
  1393.  
  1394. UNLOCKGUI can only unlock a lock created by the LOCKGUI command.
  1395. Other locked conditions, such as during long processes, can only be
  1396. unlocked by selecting the appropriate cancel gadget.
  1397.  
  1398. Executing UNLOCKGUI when the program is not locked has no effect.
  1399.  
  1400. Example:
  1401.         UNLOCKGUI
  1402.  
  1403.  
  1404. WINDOW          *A
  1405.  
  1406. Format:   WINDOW [NAME] [ABOUT|BASE|OUTPUT|CONFIG|COLOR] [[LEFT] <leftedge>]
  1407.           [[TOP] <topedge>] [OPEN | CLOSE]
  1408.  
  1409. Template: NAME/A,LEFT/N,TOP/N,OPEN/S,CLOSE/S
  1410.  
  1411. Purpose:  Manipulates a HAMLAB PLUS window.
  1412.  
  1413. Description:
  1414.  
  1415. This command provides control over the five HAMLAB PLUS windows.  The
  1416. position of the upper left corner of the window may be specified with
  1417. the LEFT and TOP keywords, and/or the window may be opened or closed
  1418. with the appropriate keyword.
  1419.  
  1420. HAMLAB PLUS windows retain their positions, even while closed, so it
  1421. is possible to position a window even while it is closed -- the new
  1422. position will be used whenever the window is next opened.
  1423.  
  1424. If the position would cause the window to extend off the edge of the
  1425. screen, it will be adjusted to bring the window back onto the screen.
  1426.  
  1427. The BASE window cannot be closed using this command.  (It can only be
  1428. closed when exiting the program.)
  1429.  
  1430. If the OPEN command is used on a window that is already open, it will
  1431. be moved to the front.
  1432.  
  1433. Examples:
  1434.         WINDOW CONFIG LEFT 100 TOP 10   [position window]
  1435.         WINDOW COLOR OPEN               [open window]
  1436.  
  1437.  
  1438.  
  1439. HAMLAB PLUS ATTRIBUTES
  1440.  
  1441. The following are valid objects for the GETATTR ARexx function:
  1442.  
  1443. APPLICATION
  1444.  
  1445. .NAME                   string  Name of program, i.e. "HAMLAB PLUS"
  1446. .VERSION                string  Version of the program
  1447. .SCREEN                 string  Name of public screen in use, if any.
  1448. .COMPATIBILITY          number
  1449.  
  1450. INPUT
  1451.  
  1452. .NAME                   string
  1453. .PATH                   string
  1454. .PATTERN                string
  1455. .WIDTH                  number (zero if no picture loaded)
  1456. .HEIGHT                 number (zero if no picture loaded)
  1457. .DEPTH                  number (zero if unknown)
  1458. .FORMAT                 string
  1459. .CROP.ULX               number
  1460. .CROP.ULY               number
  1461. .CROP.WIDTH             number
  1462. .CROP.HEIGHT            number
  1463.  
  1464. OUTPUT
  1465.  
  1466. .NAME                   string
  1467. .PATH                   string
  1468. .PATTERN                string
  1469. .EXTENSION              string
  1470. .CROP.ULX               number
  1471. .CROP.ULY               number
  1472. .WIDTH                  number
  1473. .HEIGHT                 number
  1474. .MODE.RESOLUTION        HIGH/LOW
  1475. .MODE.INTERLACE         ON/OFF
  1476. .MODE.ONESTEP           ON/OFF
  1477. .MODE.LOCKBACKGROUND    ON/OFF
  1478. .MODE.BITPLANES         1-5/HAM/HALFBRITE
  1479. .MODE.DITHER            NONE/FLOYD/JARVIS/STUCKI/ORDERED/RANDOM/SPIRAL
  1480. .MODE.DITHER2           NONE/FLOYD/JARVIS/STUCKI
  1481. .MODE.PALETTEMODE       NORMAL/SLICED/FROZEN
  1482. .MODE.SLICECOLORS       number
  1483. .MODE.SAVEMODE          PCHG SHAM DYNAMIC
  1484.  
  1485. SCALE
  1486.  
  1487. .X                      number
  1488. .Y                      number
  1489. .XPERCENT               ON/OFF
  1490. .YPERCENT               ON/OFF
  1491. .CONSTRAINED            ON/OFF
  1492.  
  1493. DISPLAY
  1494.  
  1495. .TOTAL.WIDTH            number
  1496. .TOTAL.HEIGHT           number
  1497. .VISIBLE.ULX            number
  1498. .VISIBLE.ULY            number
  1499. .VISIBLE.WIDTH          number
  1500. .VISIBLE.HEIGHT         number
  1501.  
  1502. COLOR
  1503.  
  1504. .GAMMA                  n.n
  1505. .STEPSIZE               1/2/4/8
  1506. .PATH                   string
  1507. .FILE                   string
  1508. .PATTERN                string
  1509. .RED                    256 packed 2-byte values
  1510. .GREEN                  256 packed 2-byte values
  1511. .BLUE                   256 packed 2-byte values
  1512.  
  1513. CONFIG
  1514.  
  1515. .FIXHAM                 ON/OFF
  1516. .BEEP                   ON/OFF
  1517. .ASK                    ON/OFF
  1518. .TEMPPATH               ON/OFF
  1519. .FILTERPATH             ON/OFF
  1520. .PIPEDEV                ON/OFF
  1521. .REXXCON                ON/OFF
  1522. .CACHE12BIT.MEM         number
  1523. .CACHE12BIT.DISK        number
  1524. .CACHE24BIT.MEM         number
  1525. .CACHE24BIT.DISK        number
  1526.  
  1527.